Telegram Group & Telegram Channel
Language Agents as Optimizable Graphs [2024] - обучаем надстройку над LLM

Недавно я писал о том, что какая-то большая и сложная надстройка над LLM может дать какой-нибудь интересный результат. Нечто такое из себя представляет FunSearch, использующий LLM как генератор мутаций программ на питоне. Сегодня посмотрим на работу, в которой надстройка над LLM оптимизируется для высокой производительности на классе задач / бенчмарке. Сразу скажу - не фанат конкретно этой схемы, но направление мысли здесь задаётся неплохое.

Определим языкового агента как ациклический направленный граф. В нём вершины это различные вычислительные элементы - запросы к LLM, вызовы какого-нибудь API, использование инструмента и т.д. Соединены они между собой рёбрами, обозначающими, идёт ли выход из одной вершины на вход другой. В данной статье у нас заранее задаётся множество вершин, причём у LLM-вершин есть описание того, что именно они должны делать.

Итак, мы хотели бы построить граф, набирающий как можно больше в какой-нибудь задаче, например, бенчмарке GAIA. Оптимизировать можно 2 вещи - набор рёбер и промпты каждой вершины.

1) Рёбра оптимизируем с помощью REINFORCE. Граф генерируется случайно, и вероятность каждого ребра задаётся вероятностью-параметром p. С помощью REINFORCE по этим вероятностям можно оптимизировать недифференцируемую итоговую производительность графа на задаче.
2) Промпты у вершин оптимизируется через ORPO. Для каждой вершины оптимизация независима. Это имеет смысл в данном случае, т.к. функция вершины определена заранее и подаётся на вход оптимизатору.

Графы обучаются не с нуля, их "инициализируют" какой-то известной схемой (например, несколько Tree of Thoughts) и дальше "дообучают". Нельзя сказать, что у агента есть большой простор для оптимизации, однако, это уже лучше, чем зафиксированные вручную схемы. Ждём более хитрых и гибких параметризаций такого языкового агента, в которых набор вершин тоже будет оптимизироваться, а назначение каждой отдельной вершины не будет задано заранее.

@knowledge_accumulator



tg-me.com/knowledge_accumulator/167
Create:
Last Update:

Language Agents as Optimizable Graphs [2024] - обучаем надстройку над LLM

Недавно я писал о том, что какая-то большая и сложная надстройка над LLM может дать какой-нибудь интересный результат. Нечто такое из себя представляет FunSearch, использующий LLM как генератор мутаций программ на питоне. Сегодня посмотрим на работу, в которой надстройка над LLM оптимизируется для высокой производительности на классе задач / бенчмарке. Сразу скажу - не фанат конкретно этой схемы, но направление мысли здесь задаётся неплохое.

Определим языкового агента как ациклический направленный граф. В нём вершины это различные вычислительные элементы - запросы к LLM, вызовы какого-нибудь API, использование инструмента и т.д. Соединены они между собой рёбрами, обозначающими, идёт ли выход из одной вершины на вход другой. В данной статье у нас заранее задаётся множество вершин, причём у LLM-вершин есть описание того, что именно они должны делать.

Итак, мы хотели бы построить граф, набирающий как можно больше в какой-нибудь задаче, например, бенчмарке GAIA. Оптимизировать можно 2 вещи - набор рёбер и промпты каждой вершины.

1) Рёбра оптимизируем с помощью REINFORCE. Граф генерируется случайно, и вероятность каждого ребра задаётся вероятностью-параметром p. С помощью REINFORCE по этим вероятностям можно оптимизировать недифференцируемую итоговую производительность графа на задаче.
2) Промпты у вершин оптимизируется через ORPO. Для каждой вершины оптимизация независима. Это имеет смысл в данном случае, т.к. функция вершины определена заранее и подаётся на вход оптимизатору.

Графы обучаются не с нуля, их "инициализируют" какой-то известной схемой (например, несколько Tree of Thoughts) и дальше "дообучают". Нельзя сказать, что у агента есть большой простор для оптимизации, однако, это уже лучше, чем зафиксированные вручную схемы. Ждём более хитрых и гибких параметризаций такого языкового агента, в которых набор вершин тоже будет оптимизироваться, а назначение каждой отдельной вершины не будет задано заранее.

@knowledge_accumulator

BY Knowledge Accumulator




Share with your friend now:
tg-me.com/knowledge_accumulator/167

View MORE
Open in Telegram


Knowledge Accumulator Telegram | DID YOU KNOW?

Date: |

Look for Channels Online

You guessed it – the internet is your friend. A good place to start looking for Telegram channels is Reddit. This is one of the biggest sites on the internet, with millions of communities, including those from Telegram.Then, you can search one of the many dedicated websites for Telegram channel searching. One of them is telegram-group.com. This website has many categories and a really simple user interface. Another great site is telegram channels.me. It has even more channels than the previous one, and an even better user experience.These are just some of the many available websites. You can look them up online if you’re not satisfied with these two. All of these sites list only public channels. If you want to join a private channel, you’ll have to ask one of its members to invite you.

NEWS: Telegram supports Facetime video calls NOW!

Secure video calling is in high demand. As an alternative to Zoom, many people are using end-to-end encrypted apps such as WhatsApp, FaceTime or Signal to speak to friends and family face-to-face since coronavirus lockdowns started to take place across the world. There’s another option—secure communications app Telegram just added video calling to its feature set, available on both iOS and Android. The new feature is also super secure—like Signal and WhatsApp and unlike Zoom (yet), video calls will be end-to-end encrypted.

Knowledge Accumulator from de


Telegram Knowledge Accumulator
FROM USA